3.3: Pustaka Dukungan Android

Materi:

Di bab ini Anda akan mendalami Pustaka Dukungan Android, bagian dari alat (bantu) Android SDK. Anda bisa menggunakan Pustaka Dukungan Android untuk versi yang kompatibel-mundur dari fitur Android dan untuk elemen UI tambahan serta fitur yang tidak disertakan dalam kerangka kerja Android standar.

Tentang Pustaka Dukungan Android

Alat (bantu) Android SDK menyertakan sejumlah pustaka yang secara kolektif disebut Pustaka Dukungan Android. Paket pustaka ini menyediakan sejumlah fitur yang tidak disertakan dalam kerangka kerja Android standar, dan menyediakan kompatibilitas mundur untuk perangkat lama. Sertakan pustaka ini di aplikasi Anda untuk menyertakan fungsionalitas pustaka itu.

Catatan: Pustaka Dukungan Android adalah paket yang berbeda dari pustaka Dukungan Pengujian Android yang telah Anda pelajari di bab sebelumnya. Pustaka dukungan pengujian menyediakan alat (bantu) dan API hanya untuk pengujian, sedangkan pustaka dukungan yang lebih umum menyediakan fitur dari semua jenis (namun tidak ada pengujian).

Fitur

Fitur Pustaka Dukungan Android antara lain:

  • Versi kompatibel-mundur dari komponen kerangka kerja. Pustaka kompatibilitas ini memungkinkan Anda menggunakan fitur dan komponen yang tersedia pada versi platform Android yang lebih baru bahkan bila aplikasi berjalan pada versi platform lama. Misalnya, perangkat lama tidak memiliki akses ke fitur baru seperti fragmen, bilah aksi, atau elemen Desain Material. Pustaka dukungan menyediakan akses ke fitur itu pada perangkat lama.
  • Layout tambahan dan elemen antarmuka pengguna. Pustaka dukungan menyertakan tampilan dan layout yang bisa berguna bagi aplikasi Anda, namun tidak disertakan dalam kerangka kerja Android standar. Misalnya, tampilan RecyclerView yang akan Anda gunakan dalam bab berikutnya adalah bagian dari pustaka dukungan.
  • Dukungan untuk faktor bentuk perangkat yang berbeda, seperti TV atau perangkat yang dapat dikenakan: Misalnya, pustaka Leanback menyertakan komponen khusus untuk development aplikasi pada perangkat TV.
  • Dukungan desain: Pustaka dukungan desain menyertakan komponen untuk mendukung elemen Desain Material di aplikasi Anda, termasuk tombol aksi mengambang (FAB). Anda akan mengetahui selengkapnya tentang Desain Material dalam bab berikutnya.
  • Beragam fitur lainnya seperti dukungan palet, anotasi, dimensi layout berdasarkan persentase, dan preferensi.

Kompatibilitas Mundur

Pustaka dukungan memungkinkan aplikasi berjalan pada versi platform Android lama untuk mendukung fitur yang tersedia pada versi platform yang lebih baru. Misalnya, aplikasi yang berjalan pada versi Android di bawah 5.0 (API level 21) yang bergantung pada kelas kerangka kerja tidak bisa menampilkan elemen Desain Material, karena versi kerangka kerja Android tersebut tidak mendukung Desain Material. Akan tetapi, jika aplikasi menyertakan pustaka v7 appcompat, aplikasi tersebut akan memiliki akses ke banyak fitur yang tersedia di API level 21, termasuk dukungan untuk Desain Material. Hasilnya, aplikasi Anda bisa memberikan pengalaman yang lebih konsisten di beragam versi platform yang lebih luas.

API pustaka dukungan juga menyediakan layer kompatibilitas di antara versi API kerangka kerja yang berbeda. Layer kompatibilitas ini secara transparan mencegat panggilan API dan mengubah argumen yang diteruskan, menangani operasi itu sendiri, atau mengalihkan operasi. Dalam hal pustaka dukungan, dengan menggunakan metode layer kompatibilitas, Anda bisa memastikan interoperabilitas antara rilis Android lama dan baru. Setiap rilis Android baru akan menambahkan kelas dan metode baru, dan mungkin tidak lagi menggunakan beberapa kelas dan metode lama. Pustaka dukungan menyertakan kelas kompatibilitas yang bisa digunakan untuk kompatibilitas mundur. Anda bisa mengidentifikasi kelas ini berdasarkan namanya karena namanya menyertakan kata "Compat" (seperti ActivityCompat).

Bila aplikasi memanggil salah satu metode kelas dukungan, perilaku metode tersebut akan bergantung pada versi Android yang mendasarinya. Jika perangkat menyertakan fungsionalitas kerangka kerja yang diperlukan, pustaka dukungan akan menggunakan kerangka kerja. Jika perangkat menjalankan Android versi lama, pustaka dukungan akan berupaya mengimplementasikan perilaku kompatibel yang serupa dengan API yang tersedia.

Untuk sebagian besar kasus, Anda tidak perlu menulis kode rumit yang memeriksa versi Android dan menjalankan operasi yang berbeda berdasarkan versi itu. Anda bisa mengandalkan pustaka dukungan untuk melakukan pemeriksaan itu dan memilih perilaku yang sesuai.

Bila ragu, pilih kelas kompatibilitas pustaka dukungan daripada kelas kerangka kerja.

Versi

Setiap paket di pustaka dukungan memiliki nomor versi dalam tiga bagian (X.Y.Z) yang sesuai dengan level Android API, dan dengan revisi tertentu pustaka itu. Misalnya, nomor versi pustaka dukungan 22.3.4 adalah versi pustaka dukungan 3.4 untuk API 22.

Sebagai aturan umum, gunakan pustaka dukungan versi terbaru untuk API yang dikompilasi dan ditargetkan aplikasi Anda, atau versi yang lebih baru. Misalnya, jika aplikasi Anda menargetkan API 25, gunakan pustaka dukungan versi 25.X.X.

Kapan saja Anda bisa menggunakan pustaka dukungan yang lebih baru daripada pustaka dukungan untuk API yang ditargetkan. Misalnya, jika aplikasi menargetkan API 22, Anda bisa menggunakan pustaka dukungan versi 25 atau yang lebih tinggi. Hal sebaliknya tidak berlaku—Anda tidak bisa menggunakan pustaka dukungan lama bersama API yang lebih baru. Sebagai aturan umum, Anda harus mencoba menggunakan API dan pustaka dukungan terbaru di aplikasi.

Level API

Selain nomor versi yang sebenarnya, nama pustaka dukungan itu sendiri menunjukkan API level yang kompatibel-mundur dengan pustaka. Anda tidak bisa menggunakan pustaka dukungan di aplikasi untuk API yang lebih tinggi daripada API minimum yang didukung oleh aplikasi Anda. Misalnya, jika API minimum yang didukung aplikasi adalah 10, Anda tidak bisa menggunakan pustaka dukungan v13 atau pustaka dukungan preferensi V14 di aplikasi. Jika aplikasi Anda menggunakan beberapa pustaka dukungan, API minimum harus lebih tinggi daripada nomor terbesar, yakni jika Anda menyertakan pustaka dukungan untuk v7, v13, dan V14, API minimum Anda setidaknya harus 14.

Semua pustaka dukungan, termasuk pustaka v4 dan v7, memerlukan SDK minimum API 9.

Pustaka dukungan dan dukungan

Bagian ini menjelaskan fitur penting yang disediakan oleh pustaka di Pustaka Dukungan Android. Anda akan mengetahui selengkapnya tentang banyak fitur yang dijelaskan di bagian ini dalam bab berikutnya.

Pustaka dukungan v4

Pustaka dukungan v4 menyertakan rangkaian API terbesar dibandingkan dengan pustaka lainnya, termasuk dukungan untuk komponen aplikasi, fitur antarmuka pengguna, aksesibilitas, penanganan data, konektivitas jaringan, dan utilitas pemrograman.

Pustaka dukungan v4 menyertakan komponen khusus ini:

  • Pustaka compat v4: Wrapper kompatibilitas (kelas-kelas yang menyertakan kata "Compat") untuk sejumlah API kerangka kerja inti.
  • Pustaka core-utils v4: Menyediakan sejumlah kelas utilitas
  • Pustaka core-ui v4: Mengimplementasikan berbagai komponen terkait UI.
  • Pustaka media-compat v4: Bagian backport kerangka kerja media dari API 21.
  • Pustaka fragmen v4: Menambahkan dukungan untuk fragmen Android.

Pustaka dukungan v7

Pustaka dukungan v7 menyertakan pustaka kompatibilitas dan fitur tambahan.

Pustaka dukungan v7 menyertakan semua pustaka dukungan v4, sehingga Anda tidak perlu menambahkannya secara terpisah. Dependensi pada pustaka dukungan v7 disertakan di setiap proyek Android Studio baru, dan aktivitas baru di proyek Anda yang meluaskan dari AppCompatActivity.

Pustaka dukungan v7 menyertakan komponen khusus ini:

  • Pustaka appcompat v7: Menambahkan dukungan untuk pola desain antarmuka pengguna Bilah Aksi dan dukungan untuk implementasi antarmuka pengguna desain material.
  • Pustaka cardview v7: Menyediakan kelas CardView, tampilan yang memungkinkan Anda menampilkan informasi di dalam kartu.
  • Pustaka gridlayout v7: Menyertakan kelas GridLayout, yang memungkinkan Anda menyusun elemen antarmuka pengguna menggunakan petak sel persegi panjang
  • Pustaka mediarouter v7: Menyediakan kelas MediaRouter dan kelas media terkait yang mendukung Google Cast.
  • Pustaka palette v7: Mengimplementasikan kelas Palette, yang memungkinkan Anda mengekstrak warna yang menonjol dari gambar.
  • Pustaka recyclerview v7: Menyediakan kelas RecyclerView, tampilan untuk menampilkan rangkaian data besar dengan menyediakan jendela item data yang terbatas secara efisien.
  • Pustaka preferensi v7: Menyediakan API untuk mendukung objek preferensi di setelan aplikasi.

Pustaka lainnya

  • Pustaka renderscript v8: Menambahkan dukungan untuk RenderScript, kerangka kerja untuk menjalankan tugas yang sarat komputasi dengan kinerja tinggi.
  • Pustaka dukungan v13: Menyediakan dukungan untuk fragmen dengan kelas FragmentCompat dan kelas dukungan fragmen tambahan.
  • Pustaka dukungan preferensi v14, dan pustaka dukungan preferensi v17 untuk TV: menyediakan API untuk menambahkan dukungan bagi antarmuka preferensi di perangkat seluler dan TV.
  • Pustaka leanback v17: Menyediakan API untuk mendukung pembangunan antarmuka pengguna pada perangkat TV.
  • Pustaka dukungan anotasi: Berisi API untuk mendukung penambahan metadata anotasi ke aplikasi Anda.
  • Pustaka dukungan desain: Menambahkan dukungan untuk beragam komponen Desain Material dan pola seperti panel samping navigasi, tombol aksi mengambang (FAB), snackbar, dan tab.
  • Pustaka dukungan Tab Khusus: Menambahkan dukungan untuk menambahkan dan mengelola tab khusus di aplikasi Anda.
  • Pustaka dukungan persen: Memungkinkan Anda menambahkan dan mengelola dimensi berbasis persentase di aplikasi.
  • Pustaka dukungan saran aplikasi untuk TV: Menyediakan API untuk mendukung penambahan saran materi di aplikasi yang berjalan pada perangkat TV.

Mempersiapkan dan menggunakan Pustaka Dukungan Android

Paket Pustaka Dukungan Android adalah bagian dari Android SDK, dan tersedia untuk diunduh di Android SDK Manager. Untuk mempersiapkan proyek Anda agar bisa menggunakan salah satu pustaka dukungan, gunakan langkah-langkah ini:

  1. Unduh pustaka dukungan dengan Android SDK Manager, atau verifikasi apakah pustaka dukungan sudah tersedia.
  2. Temukan pernyataan dependensi pustaka untuk pustaka dukungan yang mungkin Anda minati.
  3. Tambahkan pernyataan dependensi itu ke file build.gradle.

Mengunduh pustaka dukungan

Di Android Studio, Anda akan menggunakan Repositori Dukungan Android—repositori di SDK manager untuk semua pustaka dukungan—untuk mendapatkan akses ke pustaka dari dalam proyek Anda.

Anda mungkin sudah mengunduh dan memasang pustaka dukungan Android bersama Android Studio. Untuk memverifikasi apakah Anda telah memiliki pustaka dukungan yang tersedia, ikuti langkah-langkah ini:

  1. Di Android Studio, pilih Tools > Android > SDK Manager, atau klik ikon SDK Manager Ikon SDK Manager .

    Panel preferensi SDK Manager akan muncul. Ikon SDK Manager

  2. Klik tab SDK Tools dan luaskan Support Repository.
  3. Cari Android Support Repository dalam daftar.
    • Jika Installed muncul di kolom Status, berarti Anda sudah siap. Klik Cancel.
    • Jika Not installed atau Update Available muncul, klik kotak centang di sebelah Android Support Repository. Ikon unduhan akan muncul di sebelah kotak centang. Klik OK.
  4. Klik OK lagi, kemudian Finish bila repositori dukungan telah dipasang.

Menemukan pernyataan dependensi pustaka

Untuk menyediakan akses ke pustaka dukungan dari proyek Anda, tambahkan pustaka tersebut ke file pembangunan gradle sebagai dependensi. Pernyataan dependensi memiliki format khusus yang menyertakan nama dan nomor versi pustaka.

  1. Kunjungi laman Fitur Pustaka Dukungan di developer.android.com.
  2. Temukan pustaka yang Anda minati di laman itu, misalnya, Pustaka Dukungan Desainuntuk dukungan Desain Material.
  3. Salin pernyataan dependensi yang ditampilkan di akhir bagian. Misalnya, dependensi untuk pustaka dukungan desain terlihat seperti ini:

    com.android.support:design:23.3.0
    

    Nomor versi di akhir baris mungkin berbeda dari yang ditampilkan di atas. Anda akan memperbarui nomor versi bila menambahkan dependensi ke file build.gradle di langkah berikutnya.

Menambahkan dependensi ke file build.gradle

Skrip gradle untuk proyek Anda mengelola cara aplikasi dibangun, termasuk menetapkan dependensi yang dimiliki aplikasi di pustaka lainnya. Untuk menambahkan pustaka dukungan ke proyek Anda, modifikasi file pembangunan gradle untuk menyertakan dependensi ke pustaka yang ditemukan di bagian sebelumnya.

  1. Di Android Studio, pastikan panel Project terbuka dan tab Android diklik.
  2. Luaskan Gradle Scripts, jika perlu, dan buka file build.gradle (Modul: app).

    Perhatikan, build.gradle untuk keseluruhan proyek (build.gradle (Project: app_name) adalah file yang berbeda dari build.gradle untuk modul aplikasi.

  3. Cari bagian dependencies build.gradle, di dekat akhir file.

    Bagian dependensi untuk proyek baru mungkin sudah menyertakan dependensi sejumlah pustaka lainnya.

  4. Tambahkan dependensi untuk pustaka dukungan yang menyertakan pernyataan yang disalin dalam tugas sebelumnya. Misalnya, dependensi lengkap pada pustaka dukungan desain terlihat seperti ini:
    compile 'com.android.support:design:23.3.0'
    
  5. Perbarui nomor versi, jika perlu.

    Jika nomor versi yang Anda tetapkan lebih rendah dari nomor versi pustaka yang tersedia saat ini, Android Studio akan memperingatkan bahwa versi yang diperbarui telah tersedia. ("a newer version of com.android.support:design is available"). Edit nomor versi ke versi yang diperbarui, atau tekan Shift+Enter dan pilih "Change to XX.X.X", dalam hal ini XX.X.X adalah nomor versi yang diperbarui.

  6. Klik Sync Now untuk menyinkronkan file gradle yang diperbarui bersama proyek, jika dikonfirmasi.

Menggunakan API pustaka dukungan

Semua kelas pustaka dukungan dimuat dalam paket android.support, misalnya, android.support.v7.app.AppCompatActivity adalah nama yang benar-benar memenuhi syarat untuk kelas AppCompatActivity, dari semua aktivitas yang diperluas.

Kelas-kelas Pustaka Dukungan yang menyediakan dukungan untuk API kerangka kerja yang ada biasanya memiliki nama yang sama dengan kelas kerangka kerja namun berada di paket kelas android.support. Pastikan bila mengimpor kelas, Anda menggunakan nama paket yang benar untuk kelas yang diminati. Misalnya, saat menerapkan kelas ActionBar, gunakan salah satu dari:

  • android.support.v7.app.ActionBar saat menggunakan Pustaka Dukungan.
  • android.app.ActionBar saat mengembangkan hanya untuk API level 11 atau yang lebih tinggi.

Pustaka dukungan juga menyertakan sejumlah kelas View yang digunakan dalam file layout XML. Dalam kasus tampilan, Anda harus selalu menggunakan nama yang benar-benar memenuhi syarat tampilan itu dalam elemen XML untuk tampilan itu:

<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
</android.support.design.widget.CoordinatorLayout>
Catatan: Anda akan mempelajari tentang CoordinatorLayout dalam bab berikutnya.

Memeriksa versi sistem

Meskipun pustaka dukungan bisa membantu Anda mengimplementasikan aplikasi tunggal yang bekerja di seluruh versi platform Android, mungkin ada saatnya Anda perlu memeriksa versi Android yang dijalankan aplikasi, dan menyediakan kode yang benar untuk versi itu.

Android menyediakan kode unik untuk setiap versi platform di kelas konstanta Build. Gunakan kode ini dalam aplikasi Anda untuk menguji versi dan untuk memastikan bahwa kode yang bergantung pada API level yang lebih tinggi hanya dijalankan bila API itu tersedia pada sistem.

private void setUpActionBar() {
    // Make sure we're running on Honeycomb or higher to use ActionBar APIs
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        ActionBar actionBar = getActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);
    } else { // do something else }
}

Praktik Terkait

Latihan terkait dan dokumentasi praktik ada di Dasar-Dasar Developer Android: Praktik.

Ketahui Selengkapnya

results matching ""

    No results matching ""